package com.ruoyi.traplight.service;

import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.permission.Dao.SerDevicePermi;
import com.ruoyi.traplight.domain.DeviceDao;
import com.ruoyi.traplight.domain.aliyun.DeviceProperties;

import java.util.List;


public interface TrapLightDeviceService {
    DeviceDao getDeviceName(String deviceMac);

    DeviceProperties getDeviceProperties(String deviceName);

    boolean deleteDevice(String deviceName);

    String getDeviceStatus(String deviceName);

    /**
     *
     * @param deviceName
     * @param identifier
     * @param args
     * @return 返回消息Id
     */
    String invokeThingService(String deviceName, String identifier, String args);

    /**
     * 设置设备属性
     * @param deviceName
     * @param jsonString
     * @return 返回消息Id
     */
    String setDeviceProperty(String deviceName, String jsonString);

    List<Integer> selectDeviceIdByarea(String area);

    /**
     * 按照条件获取设备列表
     * @param deviceDao
     * @return
     */
    TableDataInfo selectDeviceInfoByCondition(DeviceDao deviceDao, List<SerDevicePermi> serDevicePermiList);
}
